메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

Enterprise Flex RIA 해부(2) : 샘플 코드의 실행

한빛미디어

|

2008-07-07

|

by HANBIT

10,442

제공 : 한빛 네트워크
저자 : Tony Hillerson
역자 : 김형욱
원문 : Anatomy of an Enterprise Flex RIA Part 2: Running the Sample Code

지난 글에서는 앞으로 본 연재에서 사용할 프로그램들에 대해 살펴보았다. 그렇다면 이번에는 이 프로그램들을 사용하는 샘플 코드를 볼 차례다. 이를 통해 엔터프라이즈 환경에서 Flex가 작동하는 모습을 볼 수 있을 것이다. 샘플 코드를 실행시키기 위해서는 약간의 준비가 필요하다.
  1. 먼저 bookie 라는 이름의 데이터베이스를 생성한다.
  2. 작업디렉토리에 enterprise-flex-code.zip 파일의 압축을 풀어놓는다.
  3. m2_repository.zip 파일의 압축을 풀어 ${user.home}/.m2/repository 디렉토리에 복사해둔다. Mac 기종의 컴퓨터에서는 위 경로를 /Users/(your username)/.m2로 바꾸어야 하며, 리눅스에서는 /home/(your username)/.m2, 윈도우에서는 C:Documents and Settings/(your username)/.m2로 변경하면 된다.
이제 작업 디렉토리의 properties 파일들을 수정할 차례이다.

제일 먼저 /development.properties 파일을 열어보자. 여기서 jboss.deploy.dir 속성의 값을 JBoss의 deploy 디렉토리를 가리키도록 수정한다. 그리고 /bookie-data 디렉토리에서 jdbc.properties.mysql 파일을 열어 username과 password를 비롯한 DB 설정 정보들을 각자의 시스템에 맞게 수정하도록 한다. 마지막으로 /bookie-ui 디렉토리에 있는 mxml.project.properties파일을 연다. 여기서 flex.sdk.bin.dir 속성의 값을 mxmlc 컴파일러가 위치하고 있는 디렉토리로 변경하고 deploy.dir 속성값은 {JBoss deploy 디렉토리}/bookie.ear/bookie.war로 수정한다.

properties 파일의 수정이 완료되었다면 maven 빌드를 실행한다. 본 프로젝트의 루트 디렉토리로 이동한 후 커맨드 프롬프트에서 다음 명령어를 입력하면 된다. `mvn package`. 마지막으로 Ant deploy를 실행하면 된다. 위와 같은 위치에서 명령어로 `ant dev-deploy`를 입력해보자. 이것으로 환경 설정은 모두 끝났다! 남은 일은 그저…
  1. JBoss를 실행시키고
  2. 웹브라우저의 주소창에 http://localhost:8080/bookie 를 입력한 후
  3. 카드 번호 123456으로 로그인하여
  4. 애플리케이션을 실행시켜보는 것 뿐이다.
프로젝트 소개 : Bookie
본 프로젝트는 가상의 온라인 도서 예약 애플리케이션으로 ‘Bookie’라고 이름 붙였다. 셀프서비스로 운영되는 가상의 도서관이라 할 수 있으며 사용자는 도서관 카드 번호를 통해 로그인한 후 책을 검색하고 온라인으로 그 책을 예약할 수 있다. 예약이 끝난 후 사용자가 도서관에 찾아갈 때 쯤이면 바로 그 책을 집어갈 수 있도록 준비가 되어 있을 것이다.

Bookie는 또한 도서관 관리자가 저자와 그 책에 대한 정보를 추가하고 갱신하는 기능도 제공한다. 관리자는 일하는 동안에 새로운 도서 예약이 발생하면 그에 대해 자동화된 통지를 받게 되며 그 통지를 바탕으로 사용자가 예약한 도서를 준비해두어 사용자가 찾아갈 수 있도록 하는 시스템이다.

유스케이스(Use Cases)
이미 언급한 바와 같이 유스케이스(use case) 또는 사용자스토리(user story)는 애플리케이션이 사용자들에게 제공하고자 하는 기능성을 기술한다. 유스케이스는 애플리케이션에서 포함하려고 하는 기능성에 주안점을 두는데 이는 그저 단순한 기능성뿐만 아니라 사용자가 해결하고 싶었던 문제에 대한 해결책을 제시하는 것까지를 포함한다고 할 수 있다. 즉 유스케이스(use case)란 사용자가 애플리케이션을 사용하고자 하는 방식에 대해 기술하는 것이라 생각하면 된다.

예를 들면:
“사용자가 배송 정보와 함께 주(州)에 대한 정보를 입력하면 시스템은 그 주(州)에 대해 세금을 계산해준다”

유스케이스는 어떤 종류의 데이터베이스 스키마를 사용해야 할지 또는 어떤 언어를 사용할 지와 같은 기술적인 요구사항을 공공연히 기술하지 않으며 기술적인 용어나 알아먹기 힘든 전문용어를 사용하지도 않는다.

[표 1]과 [표 2]는 Bookie의 유스케이스들을 나열한 것이다. 우리는 이것들을 단순하고 응축되게 – “야생”에서 보다 더욱 단순하게– 만들 것이다. 유스케이스에는 사용자와 관리자 모두의 스토리를 담았다.

유스케이스명 설명
로그인 사용자는 도서관 카드 번호를 통해 시스템에 로그인한다.이것이 이 단순한 시스템에서 사용되는 인증절차의 전부이긴 하지만 데이터베이스에 저장되는 데이터와 비교하여 사용자를 확인하므로 이 정도면 본 시스템에서는 충분하리라 생각된다.
저자명으로 검색 사용자는 특정 저자명과 관련된 모든 책을 검색할 수 있다.
주제로 검색 사용자는 특정 주제와 관련된 모든 책을 검색할 수 있다.
제목으로 검색 사용자는 특정 제목과 관련된 모든 책을 검색할 수 있다.
저자목록 탐색 사용자는 모든 저자의 목록을 탐색할 수 있다.
제목목록 탐색 사용자는 모든 제목의 목록을 탐색할 수 있다.
주제목록 탐색 사용자는 모든 주제의 목록을 탐색할 수 있다.
저자명 검색 사용자는 저자 이름을 검색하여 특정 저자를 찾아낼 수 있다.
주제 검색 사용자는 주제명을 검색하여 특정 주제를 찾아낼 수 있다.
[표 1] 사용자 유스케이스

유스케이스명 설명
주제 생성/갱신/삭제 관리자는 시스템내의 모든 주제를 관리할 수 있다.
도서 생성/갱신/삭제 관리자는 시스템내의 모든 도서를 관리할 수 있다. 이는 도서,저자 그리고 주제를 할당하는 것을 포함한다.
저자 생성/갱신/삭제 관리자는 시스템내의 모든 저자를 관리할 수 있다.
사용자 생성/갱신/삭제 관리자는 시스템내의 모든 사용자를 관리할 수 있다.
도서 대출 처리 관리자는 미처리된 예약들을 관리하고 해당 도서가 대출되었을 때 그것을 표시할 수 있다.
도서 반납 처리 관리자는 대출된 도서의 목록을 관리하고 해당 도서가 반납이 된 경우 그것을 확인할 수 있다.
[표 2] 관리자 유스케이스

본 프로젝트는 소수의 유스케이스들로 이루어진 정말 작은 프로젝트로써 이를 통해 우리는 기술적으로 상세한 부분을 다루지 않으면서도 전체적인 프로세스에 대한 감을 잡고 그 동안 익힌 툴들을 사용해 볼 수 있었다. 이어지는 각 섹션에서는 본 애플리케이션의 “계층(layer)”에 대해 다루게 될 것이다. 데이터베이스에서부터 데이터 모델, 서비스 상호작용(interaction) 그리고 유저 인터페이스(user interface)에 이르기까지 탄탄히 구축된 계층 구조는 각 계층에서 사용되는 기술을 공부할 수 있는 기회가 될 것이다.

다음 번에는 프로젝트를 좀 더 세세히 분해해보며 Maven을 사용하여 프로젝트의 코드를 빌드하는 과정을 자동화하는 걸 보여줄 예정이다. 언제나 그렇듯이 전체 (영문) 연재물을 보려면 여기를 클릭하면 된다.
TAG :
댓글 입력
자료실

최근 본 책0